import router from "../router";
import store from "@/store";
// 路由判断登录 根据路由配置文件的参数
/*https://blog.csdn.net/cwin8951/article/details/106938968*/
router.beforeEach((to, from, next) => {
    // 防止刷新后vuex里丢失token
    store.commit('getToken')
    // 防止刷新后vuex里丢失标签列表tagList
    store.commit('getMenu')
    let token = store.state.user.token
    console.log("------------" + token)

    if (token) {
        /*已经登录过*/
        if (to.name !== 'login') {
          /*如果不是登录页，则跳转*/
            next()
        } else {
            /*否则跳转默认页*/
            //跳转到首页
            next({name: 'home'})
        }
    } else {
        /* 没有登录 跳转登录页*/
        if (to.name !== 'login') {
            next({ name: 'login' })
        } else {
            next()
        }
    }
})
import Vue from 'vue';
// 是否有权限
const hasPermission = routerCode => {
    // 当前用户的权限列表
    let permissionList = router.currentRoute.meta.btnPerms;
    if (permissionList) {
        return permissionList.includes(routerCode);
    } else {
        return false;
    }
};

// 指令
Vue.directive('per', {
    bind: (el, binding) => {
        if (!hasPermission(binding.value)) {
            el.style.display = 'none'
        }
    }
});

// 全局判断方法
Vue.prototype.$_has = hasPermission;
